/*****************************************************************
*
*	Netcare Agent Project
*		Copyright(C) 2010, Wicresoft EKA. All Rights Reserved.
*
*	Authors:
*		Miles Chen (milesch@wicresoft.com)
*		TingRong Shi (trshi@wicresoft.com)
*
*	Part of the product code depends on gSOAP under GPL license
*		Copyright(C) 2000-2010, Robert van Engelen, Genivia Inc. All Rights Reserved.
*
*****************************************************************/
#pragma once
#include "soapH.h"

class soapHostSoap12ServiceImpl
{
public:
	soapHostSoap12ServiceImpl(void);
	~soapHostSoap12ServiceImpl(void);


	/// Web service operation 'GetProcesses' (returns error code or SOAP_OK)
	virtual	int GetProcesses(_ns1__GetProcesses *ns1__GetProcesses, _ns1__GetProcessesResponse *ns1__GetProcessesResponse);

	/// Web service operation 'KillProcess' (returns error code or SOAP_OK)
	virtual	int KillProcess(_ns1__KillProcess *ns1__KillProcess, _ns1__KillProcessResponse *ns1__KillProcessResponse);

	/// Web service operation 'GetSystemInfo' (returns error code or SOAP_OK)
	virtual	int GetSystemInfo(_ns1__GetSystemInfo *ns1__GetSystemInfo, _ns1__GetSystemInfoResponse *ns1__GetSystemInfoResponse);

	/// Web service operation 'GetAgentInfo' (returns error code or SOAP_OK)
	virtual	int GetAgentInfo(_ns1__GetAgentInfo *ns1__GetAgentInfo, _ns1__GetAgentInfoResponse *ns1__GetAgentInfoResponse);

	/// Web service operation 'RestartService' (returns error code or SOAP_OK)
	virtual	int RestartService(_ns1__RestartService *ns1__RestartService, _ns1__RestartServiceResponse *ns1__RestartServiceResponse);

	/// Web service operation 'RestartOS' (returns error code or SOAP_OK)
	virtual	int RestartOS(_ns1__RestartOS *ns1__RestartOS, _ns1__RestartOSResponse *ns1__RestartOSResponse);

	/// Web service operation 'MemoryRelease' (returns error code or SOAP_OK)
	virtual	int MemoryRelease(_ns1__MemoryRelease *ns1__MemoryRelease, _ns1__MemoryReleaseResponse *ns1__MemoryReleaseResponse);

	/// Web service operation 'DiskRelease' (returns error code or SOAP_OK)
	virtual	int DiskRelease(_ns1__DiskRelease *ns1__DiskRelease, _ns1__DiskReleaseResponse *ns1__DiskReleaseResponse);

	/// Web service operation 'DiskRelease' (returns error code or SOAP_OK)
	virtual	int EnumServices(_ns1__EnumServices *ns1__EnumServices, _ns1__EnumServicesResponse *ns1__EnumServicesResponse);

private:
#ifdef WIN32
	ns1__ArrayOfProcessInfo* _pArrayOfProcessInfo;
	ns1__ArrayOfServiceInfo* _pArrayOfServiceInfo;
	ns1__SystemInfo* _pSystemInfo;
	std::wstring* _pAgentInfo;
#else
	ns1__ArrayOfProcessInfo* _pArrayOfProcessInfo;
	ns1__ArrayOfServiceInfo* _pArrayOfServiceInfo;
	ns1__SystemInfo* _pSystemInfo;
	std::string* _pAgentInfo;
#endif

	void Dispose();
};

